calling IO handlers in xen HV, i.e. vmx_portio_intercept or
vmx_mmio_intercept. Actually, STATE_IOREQ_READY means it's ready for
DM handling, only if IO handlers in xen HV won't handle it, it should
be passed to DM. This patch fixes this issue.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Nakajima Jun <nakajima.jun@intel.com>
} else
p->u.data = value;
- p->state = STATE_IOREQ_READY;
-
if (vmx_portio_intercept(p)) {
/* no blocking & no evtchn notification */
clear_bit(ARCH_VMX_IO_WAIT, &v->arch.arch_vmx.flags);
return;
}
+ p->state = STATE_IOREQ_READY;
+
evtchn_send(iopacket_port(v->domain));
vmx_wait_io();
}
} else
p->u.data = value;
- p->state = STATE_IOREQ_READY;
-
if (vmx_mmio_intercept(p)){
p->state = STATE_IORESP_READY;
vmx_io_assist(v);
return;
}
+ p->state = STATE_IOREQ_READY;
+
evtchn_send(iopacket_port(v->domain));
vmx_wait_io();
}